Welcome to pandas!

6.13 层级交换

如果DataFrame表格有分层索引,而各层级之间需要交换位置,则可以使用df.swaplevel()

结构如下:

df.swaplevel(i=2,j=1,axis=o)

i,j: 要交换索引层级。可以是层级整数位置,或者是层级的名称。

axis:要交换层级的方向。0为行方向,1为列方向。


import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.6.13 层级交换.xlsx" , header =[ 0,1 ], index_col =[ 0,1 ])

print (df)

df=df.swaplevel( i = "类型" , j= "地区" , axis = 0 ) #字符类型也可以,但是会变黄,一般应为整数较好。

print (df)

返回:

半年 上半年 下半年
季度 1季度 2季度 3季度 4季度
地区 类型
上海 Maya-动画 11 20 39 17
keynote-办公 7 72 85 9
成都 AI-设计 82 54 59 93
PS-设计 46 68 50 20
北京 PPT-办公 75 83 95 12
Excel-办公 34 10 56 68
3DS MAX-动画 7 10 53 53

半年 上半年 下半年
季度 1季度 2季度 3季度 4季度
类型 地区
Maya-动画 上海 11 20 39 17
keynote-办公 上海 7 72 85 9
AI-设计 成都 82 54 59 93
PS-设计 成都 46 68 50 20
PPT-办公 北京 75 83 95 12
Excel-办公 北京 34 10 56 68
3DS MAX-动画 北京 7 10 53 53